﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ZOVNP.Model.Abstracts
{
    /// <summary> Вспомогательный класс для вызова сервиса сообщений. </summary>
    public static class Services
    {
        /// <summary> Вывести сообщение (вопрос, уведомление). </summary>
        /// <param name="Message"> Текст сообщения. </param>
        /// <param name="Buttons"> Варианты ответа. </param>
        /// <returns> Ответ. </returns>
        public static MessageServiceDialogResult Show(string Message, MessageServiceMessageBoxButtons Buttons)
        {
            var service = new ServiceLocatorHelper().ServiceLocator.GetService<IMessageService>();
            if (service == null) throw new NotSupportedException("Сервис вывода сообщений не доступен.");
            return service.ShowNotification(Message, Buttons);
        }
        /// <summary>
        /// Вывести информацию об ошибке.
        /// </summary>
        /// <param name="exception">Исключение, информацию о котором нужно вывести.</param>
        public static void ShowError(Exception exception)
        {
            var service = new ServiceLocatorHelper().ServiceLocator.GetService<IMessageService>();
            if (service == null) throw new NotSupportedException("Сервис вывода сообщений не доступен.");
            service.ShowError(exception);
        }

        //public static string GetMachineName()
        //{
        //    var service = new ServiceLocatorHelper().ServiceLocator.GetService<IProgramEnvironmentProviderService>();
        //    if (service == null) return "<не известно>";
        //    return service.MachineName;
        //}
    }
}
